import requist from '@/utils/requist'

/**
 * 用户注册接口
 * @param {*} data 注册信息
 * @returns 注册结构，返回promise
 */
export const registerAPI = (data) => {
  return requist({
    url: '/api/v1/reguser',
    method: 'post',
    data
  })
}
/**
 * 登录
 * @param {*} param0 用户名 param1 密码 param2 确认密码
 * @returns 返回token
 */
export const loginAPI = ({ username, password }) => {
  return requist({
    url: '/api/v1/login',
    method: 'get',
    params: {
      username,
      password
    }
  })
}

export const getCountInfoAPI = () => {
  return requist({
    url: '/my/getcountinfo'
  })
}

export const getCateInfoAPI = () => {
  return requist({
    url: '/my/getcateinfo'
  })
}

export const getMonthInfoAPI = () => {
  return requist({
    url: '/my/getmonthinfo'
  })
}

/**
 * 获取用户基本信息
 * @returns 返回Promise对象
 */
export const getUserInfoAPI = () => {
  return requist({
    url: '/my/userinfo',
    method: 'get'
  })
}

/**
 * 获取菜单列表
 * @returns 返回promise
 */
export const getMenuListAPI = () => {
  return requist({
    url: '/my/getmenu',
    method: 'get'
  })
}

/**
 * 修改用户基本信息
 * @param {*} data 包含用户信息的对象
 * @returns 返回结构 promise
 */
export const updateUserInfoAPI = (data) => {
  return requist({
    url: '/my/userinfo',
    method: 'post',
    data
  })
}

/**
 * 更换头像
 * @param {*} avatar 用户头像值 base64
 * @returns 请求结构 promise
 */
export const updateAvatarAPI = (avatar) => {
  return requist({
    url: '/my/update/avatar',
    method: 'post',
    data: {
      user_avatar: avatar
    }
  })
}

/**
 * 重置用户密码
 * @param {*} pwdData 用户重置的密码
 * @returns 请求结构promise
 */
export const updatePwdAPI = (pwdData) => {
  return requist({
    url: '/my/updatepwd',
    method: 'post',
    data: {
      oldPwd: pwdData.old_pwd,
      newPwd: pwdData.new_pwd
    }
  })
}

/**
 * 获取文章分类列表
 * @returns 返回文章分类列表
 */
export const getArtCateListAPI = () => {
  return requist({
    url: '/my/article/cates'
  })
}

/**
 * 新增文章分类
 * @param {*} data 新增的数据
 * @returns 请求结果 promise
 */
export const saveArtCateAPI = (data) => {
  return requist({
    url: '/my/article/addcates',
    method: 'post',
    data
  })
}

/**
 * 修改文章分类
 * @param {*} data 修改的数据
 * @returns 请求结果 promise
 */
export const updateArtCateAPI = ({ name, alias, id }) => {
  return requist({
    url: '/my/article/updatecate',
    method: 'post',
    data: {
      id,
      name,
      alias
    }
  })
}

/**
 * 删除文章分类
 * @param {*} id 要删除的文章分类id
 * @returns 请求结果 promise
 */
export const delArtCateAPI = (id) => {
  return requist({
    url: '/my/article/deletecate/' + id,
    method: 'get'
  })
}

// 获取七牛云token
export const getTokenAPI = () => {
  return requist({
    url: '/my/gettoken'
  })
}

export const addArticleAPI = (fd) => {
  return requist({
    url: '/my/article/add',
    method: 'post',
    data: fd
  })
}

/**
 * 获取文章列表
 * @param {*} param0 { pagenum: 当前页码数, pagesize: 当前页条数, cate_id: 文章分类id, state: 文章状态 }
 * @returns Promise对象{ pagenum, pagesize, cate_id, state }
 */
export const getArticleListAPI = ({ pagenum, pagesize }) => {
  return requist({
    url: '/my/article/list',
    method: 'post',
    data: {
      pagenum,
      pagesize
    }
  })
}

/**
 * 通过 id 获取-文章详情
 * @param {*} id 文章id
 * @returns Promise对象
 */
export const getArticleDetailAPI = (id) => {
  return requist({
    url: '/my/article/info/' + id
  })
}

/**
 * 通过 id 删除文章
 * @param {*} id 要删除的文章 id
 * @returns 请求结果 promise
 */
export const delArticleAPI = (id) => {
  return requist({
    url: '/my/article/delete/' + id
  })
}

/**
 * 上传图片（上传到服务器上）
 * @param {*} fd 要保存的图片数据
 * @returns 请求结果 promise
 */
export const upLoadImgAPI = (fd) => {
  return requist({
    url: '/api/v1/upload',
    method: 'post',
    data: fd
  })
}

/**
 * 通过id 修改文章
 * @param {*} content 修改的文章内容
 * @param {*} id 文章 id
 * @returns 请求结果 promise
 */
export const updateArtticleAPI = (content, id) => {
  return requist({
    url: '/my/article/update/' + id,
    method: 'post',
    data: {
      content
    }
  })
}

/**
 * 发送验证码
 * @param {*} email 邮箱号
 * @returns 请求结果
 */
export const sendCodeAPI = (email) => {
  return requist({
    url: '/api/v1/sendcode?email=' + email,
    method: 'get'
  })
}

/**
 * 获取评论
 * @returns 请求结果 promise
 */
export const getArtCommentAPI = ({ pagenum, pagesize }) => {
  return requist({
    url: '/my/article/getartcomment',
    method: 'post',
    data: {
      pagenum,
      pagesize
    }
  })
}

/**
 * 审核评论
 * @param {*} param0 评论id 和评论状态
 * @returns 请求结果 promise
 */
export const updateArtCommentAPI = ({ id, state }) => {
  return requist({
    url: '/my/article/upcommentstate',
    method: 'post',
    data: {
      id,
      state
    }
  })
}

export const getAllUserAPI = ({ pagenum, pagesize }) => {
  return requist({
    url: '/my/right/getuser',
    method: 'post',
    data: { pagenum, pagesize }
  })
}

export const upUserStateAPI = (state, id) => {
  return requist({
    url: '/my/right/upuserstate',
    method: 'post',
    data: {
      is_delete: state,
      user_id: id
    }
  })
}

export const addUserAPI = (fd) => {
  return requist({
    url: '/my/right/adduser',
    method: 'post',
    data: fd
  })
}

export const getUserAPI = (id) => {
  return requist({
    url: '/my/right/getuser/' + id
  })
}

export const updateUserInfoAPI_1 = (fd) => {
  return requist({
    url: '/my/right/upuserinfo/',
    method: 'post',
    data: fd
  })
}
